/**
 * 
 */
package com.dashboard.service;

import java.util.List;

import com.dashboard.domain.Organizacao;


/**
 * @author Joao
 *
 */
public interface ServicoOrganizacao 
{
	/**
	 * Cria uma organiza&ccedil;&atilde;o.
	 * 
	 * @param organizacao a organiza&ccedil;&atilde;o a ser criada.
	 */
	public void criar(Organizacao organizacao);
	
	/**
	 * Retorna uma organiza&ccedil;&atilde;o atrav&eacute;s de seu identificador.
	 * 
	 * @param id o identificador da organiza&ccedil;&atilde;o.
	 * @return a organiza&ccedil;&atilde;o solicitada
	 */
	public Organizacao recuperar(Long id);
	
	/**
	 * Atualiza uma organiza&ccedil;&atilde;o.
	 * 
	 * @param organizacao a organiza&ccedil;&atilde;o a ser atualizada.
	 */
	public void atualizar(Organizacao organizacao);
	
	/**
	 * Remove uma organiza&ccedil;&atilde;o.
	 * 
	 * @param organizacao a organiza&ccedil;&atilde;o a ser removida.
	 */
	public void remover(Organizacao organizacao);

	/**
	 * Lista todas as organiza&ccedil;&otilde;es do sistema.
	 * 
	 * @return todas as organiza&ccedil;&otilde;es do sistema.
	 */
	public List<Organizacao> listarTodos();

}
